/*
 * Fonctions globales pour l'administration
 * Charge les changements de design par javascript
 */
var URL = 'http://localhost/edts/';

$(function() {
    $.datepicker.regional['fr'] = {
		closeText: 'Fermer',
		prevText: '&#x3c;Préc',
		nextText: 'Suiv&#x3e;',
		currentText: 'Courant',
		monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
		'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
		monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
		'Jul','Aoû','Sep','Oct','Nov','Déc'],
		dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
		dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
		dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
		weekHeader: '',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
    $.datepicker.setDefaults($.datepicker.regional['fr']);
    $('input.date').datepicker({
	showWeek:true,
	showOtherMonths: true,
	selectOtherMonths: true,
	changeMonth: true,
	changeYear: true
    });
});

/**
 * Fonction similaire à empty de PHP :
 * Elle indique si la variable existe et n'est pas vide
 * @param <mixed> Variable à tester
 * @return <boolean> La variable existe et n'est pas vide
 */
function empty(variable) {
    if ( !variable ) return true;
    if ( variable == '' ) return true;
    if ( variable == 0 ) return true;
    return false;
}

/**
 * Fonction similaire à is_array de PHP :
 * Elle indique si la variable est un tableau ou non
 * @param <mixed> Variable à tester
 * @return <boolean> La variable est un tableau
 */
function is_array(variable){
    return typeof(variable)=='object'&&(variable instanceof Array);
  }

/**
 * Fonction similaire à shRequest::link() de PHP :
 * elle construit un lien depuis un module/action/requete et arguments
 * @param <string> Module
 * @param <string> Action
 * @param <string> Requête
 * @param <array> Paramètres à passer
 * @return <string> Url formattée
 */
function link(module, action, request, arguments, extension) {
    var url = URL;
    var extension = extension || '.ajax';
    var module = module || 'default';
    var request = request || null;
    var action = action ||'index';

    if ( (module != '/') && (module != 'default') )
	url += module + '/';

    if ( !empty(action) ) {
	url += action;
	if ( !empty(request) ) url += '-' + request;
	if ( !empty(arguments) ) {
	    if ( !is_array(arguments) ) { 
		var arg = arguments;
		arguments = [arg];
	    }
	    url += ',' + arguments.join(',');
	}
	url += extension;
    }
    return url;
}
